use chrono::{DateTime,Utc};
use serde_json::Value;


declare_dao!(UserToUserMessageDao {
    id:i64,
    sender_id:Option<i64>,
    receiver_id:Option<i64>,
    parent_id:Option<i64>,
    title:Option<String>,
    message:String,
    created_at:DateTime<Utc>,
    updated_at:DateTime<Utc>
};"user_to_user_message";i64;id);

declare_dao!(UserToClubApplicationFormDao {
    id:i64,
    user_id:Option<i64>,
    reviewer_id:Option<i64>,
    application_id:Option<i64>,
    form_schema:Value,
    content:Value,
    created_at:DateTime<Utc>,
    updated_at:DateTime<Utc>
};"user_to_club_application_form";i64;id);

declare_dao!(UserToClubApplicationDao {
    id:i64,
    application_id:Option<i64>,
    club_id:Option<i64>,
    reviewer_id:Option<i64>,
    status:Option<i64>,
    created_at:DateTime<Utc>,
    updated_at:DateTime<Utc>
};"user_to_club_application";i64;id);

declare_dao!(ClubCoverImageAssetsDao {
    id:i64,
    club_id:Option<i64>,
    assets_id:Option<i64>
};"club_cover_image_assets";i64;id);